const dirContext = require.context('./modules', true, /[\w|-]+\.js$/)
const directives = dirContext.keys().reduce((prev, cur) => {
  // 获取文件名作为指令名
  const name = cur.replace(/(\.\/|\.js)/g, '')
  // 获取模块导出的指令函数
  const directive = dirContext(cur).default
  // 添加到指令集合中
  prev[name] = directive
  return prev
}, {})

export default {
  install(app) {
    Object.keys(directives).forEach(key => {
      // 注册全局指令
      app.directive(key, directives[key])
    })
  }
}
